package primary

import (
	"zstackgo/spring"
)

func init() {
	o := new(CephPrimaryStorageFactory)
	spring.Register(o, "CephPrimaryStorageFactory", []*spring.PluginExtension{
		{
			Interface: "header.storage.primary.PrimaryStorageFactory",
		},
		{
			Interface: "storage.ceph.CephCapacityUpdateExtensionPoint",
		},
		{
			Interface: "kvm.KVMStartVmExtensionPoint",
		},
		{
			Interface: "kvm.KVMAttachVolumeExtensionPoint",
		},
		{
			Interface: "kvm.KVMDetachVolumeExtensionPoint",
		},
		{
			Interface: "kvm.KVMPreAttachIsoExtensionPoint",
		},
		{
			Interface: "kvm.KVMConvertVolumeExtensionPoint",
		},
		{
			Interface: "header.storage.snapshot.CreateTemplateFromVolumeSnapshotExtensionPoint",
		},
		{
			Interface: "kvm.KvmSetupSelfFencerExtensionPoint",
		},
		{
			Interface: "header.Component",
		},
		{
			Interface: "storage.snapshot.PostMarkRootVolumeAsSnapshotExtension",
		},
		{
			Interface: "header.storage.snapshot.BeforeTakeLiveSnapshotsOnVolumes",
		},
		{
			Interface: "header.vm.VmInstanceCreateExtensionPoint",
		},
		{
			Interface: "header.volume.CreateDataVolumeExtensionPoint",
		},
		{
			Interface: "header.configuration.userconfig.InstanceOfferingUserConfigValidator",
		},
		{
			Interface: "header.configuration.userconfig.DiskOfferingUserConfigValidator",
		},
		{
			Interface: "storage.snapshot.MarkRootVolumeAsSnapshotExtension",
		},
		{
			Interface: "compute.vm.VmCapabilitiesExtensionPoint",
		},
		{
			Interface: "header.vm.PreVmInstantiateResourceExtensionPoint",
		},
	})
}

type CephPrimaryStorageFactory struct {
}
